As an increasing amount of information processing is being performed electronically, and as the speed of that processing increases, there is a corresponding demand to improve the performance of the systems and services that manage the information being processed. One way of improving the performance of the systems and services is to redundantly store data objects using multiple storage devices and, as requests to access data are received, allocate the requests to an appropriate storage device. For example, when a read request is received, the read request may be directed to a storage device that, according to at least one measure, is experiencing the lightest load or no load at all. In a specific example, the read request may be dispatched to a storage device having the lowest number of items pending in a request queue, although other measures may be used. In this manner, operations can be performed by several devices instead of just one, thereby potentially significantly decreasing the amount of time it takes to complete operations.
One way to redundantly store data in a way that increases performance is to utilize excess storage capacity to store replicas of data objects. In a storage system that includes multiple storage devices, for example, replicas of data objects may be stored in storage space that would otherwise go unused, at least for a period of time. In this manner, storage space that would be otherwise wasted, at least temporarily, may be used to improve performance, such as noted above, and/or for other reasons, including replica storage for backup purposes. However, while the storage of replicas can provide numerous benefits at relatively small cost, in some instances storage space may become needed. There may be a need, for instance, to store a new data set and possibly one or more replicas of the new data set. In such instances, the additionally needed storage space may not be available due to use of the space for performance and/or other benefits.